package com.liziba.trend;

import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NetUtil;
import org.apache.commons.lang.math.NumberUtils;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

import java.util.Arrays;

/**
 * @ProjectName: trend-parent
 * @Package: com.liziba.trend
 * @ClassName: ThirdPartIndexDataApplication_8090
 * @Author: liziba
 * @Description: 第三方服务启动类
 * @Date: 2021/2/1 15:25
 * @Version: 1.0
 */
@SpringBootApplication
@EnableEurekaClient
@MapperScan(value = "com.liziba.trend")
public class ThirdPartIndexDataApplication_8090 {
    public static void main(String[] args) {
        // 端口
        int port = 8090;
//        int eurekaServerPort = 8761;
//        // 判断eureka是否启动
//        if(NetUtil.isUsableLocalPort(eurekaServerPort)) {
//            System.err.printf("检查到eurekaServerPort端口%d未启动，本地服务无法注册，强制退出！", eurekaServerPort);
//            System.exit(1);
//        }
//        // 启动时携带参数启动 支持修改端口 未携带参数则默认使用8090端口
//        if(null != args && args.length > 0){
//            String p = Arrays.asList(args).stream().filter(arg -> (arg.startsWith("port="))).findFirst().get();
//            port = NumberUtils.isNumber(p) ? Convert.toInt(p) : 8090;
//        }
//        // 判断端口是否被占用
//        if(!NetUtil.isUsableLocalPort(port)) {
//            System.err.printf("端口%d已被占用，无法启动！", port);
//            System.exit(1);
//        }
        new SpringApplicationBuilder(ThirdPartIndexDataApplication_8090.class).properties("server.port=" + port).run(args);
    }
}
